package com.dys.util;

import com.dys.vo.ResultVO;

/**
 * @className: com.dys.util.R
 * @description: 响应结果
 * @author: pine cone
 * @version: v1.0.0
 * @createTime: 2024/04/08 23:20
 */
public class R {

    /**
     * 响应成功
     *
     * @return 响应成功的描述
     */
    public static ResultVO ok() {
        ResultVO resultVO = new ResultVO();
        resultVO.setCode(0);
        resultVO.setMsg("响应成功");
        return resultVO;
    }

    /**
     * 自定义响应成功的描述消息
     *
     * @return 自定义响应成功的描述
     */
    public static ResultVO ok(String message) {
        ResultVO resultVO = ok();
        resultVO.setMsg(message);
        return resultVO;
    }

    /**
     * 响应成功
     *
     * @param data 响应给前端的数据
     * @return 响应成功的结果
     */
    public static ResultVO ok(Object data) {
        ResultVO vo = ok();
        vo.setData(data);
        return vo;
    }

    /**
     * 分页响应成功的总条数和数据
     *
     * @param total 总条数
     * @param data  响应澈成功的数据
     * @return 响应成功的结果
     */
    public static ResultVO ok(Long total, Object data) {
        ResultVO vo = ok(data);
        vo.setTotal(total);
        return vo;
    }

    /**
     * 响应失败的结果
     *
     * @param code    响应失败的状态码
     * @param message 响应失败的描述消息
     * @return 响应失败的结果
     */
    public static ResultVO error(Integer code, String message) {
        ResultVO vo = new ResultVO();
        vo.setCode(code);
        vo.setMsg(message);
        return vo;
    }
}
